Using LaTex to design a Createspace cover

When publishing a book using Createspace, you need to make a cover. The Createspace website has many cover templates, some of which are easier to use than others. The easier they are to use, the less control you have over how the cover looks. The approach that gives you the most control (& is most difficult) is to upload a pdf that has the complete cover (back, front & spine) in one file. Typically, people would use graphic design software such as Photoshop, GIMP, Pixelmator, etc., to create the cover. If you go that route, then you'll find it helpful to download a template file (png, e.g.) that lays out the dimensions for you. This file would be used as the background layer in the graphics program while you design the cover to help place things properly, then be removed before exporting the work to a pdf.

I've tried to use such programs, but not being a graphics designer I get too frustrated. I'm much more comfortable with LaTeX, which is not graphics design software, but does a nice job, especially with fonts. Then whatever images I need I do create elsewhere, then input them into the LaTeX file the usual way. This page outlines the process I used.

First, on Createspace, go to "Upload a Print-Ready PDF Cover" to get the cover template appropriate for your book. It is a zip file. You want the template.png file therein.

Next, calculate the cover dimensions of your book using the Createspace rules. E.g., 6x9 book with 360 pages, white paper, black & white:

Using LaTeX

Now set up your latex file. The article class is fine. The key packages needed are geometry, background (to get the Createspace template visible), and rotating (to get the spine text oriented). Also, anyfontsize may be of interest.

Use geometry to set the size of the pdf, which is what we calculated above:

\usepackage[paperwidth=13.06in,paperheight=9.25in,top=0in,bottom=0in,left=0in,right=0in]{geometry}
The other packages:
\usepackage{rotating}
\usepackage[pages=some]{background}
Then set up the background:
\backgroundsetup{
	scale=1,
	color=black,
	opacity=0.4,
	angle=0,
	contents={\includegraphics{template.png}}
}
Then the actual document. I used three minipages, one each for the back, spine, & front. Here is the skeleton of the document:

\begin{document}

\BgThispage  % This prints the background template image.

\hskip .35in

\begin{minipage}{5in}
	% The back page
\end{minipage}
\hskip .8in
\begin{minipage}{0.806in} % The spine

\vskip .52in

\begin{turn}{-90}
	% The title 
\end{turn}

\vskip 1.2in

\begin{turn}{-90}
	% The author 
\end{turn}

\end{minipage}
\begin{minipage}{5.25in} % The front page

\end{minipage}

\end{document}

In order for the minipages to line up side-by-side, there shouldn't be a blank line between an '\end{minipage}' and the next '\start{minipage}'. Otherwise, you start a new paragraph.

Once you set up the LaTeX file, compile it twice. The first time the background template doesn't get centered correctly. After that it should be fine.

You'll have to tweak the amounts of vskipping & hskipping & the minipage widths, so that the placements conform to the template. Once it is perfect, you rerun commenting out the \BgThispage.

Finally, you open it in Preview (at least on a Mac) and save as pdf, being sure to set the desired size of the file on the print screen.